﻿'Agregar referencia .NET > System.Data.SqlServerCe
Imports System.Data.SqlServerCe

'Crea una base de datos SqlCE 3.5.1.0 (esto depende de la version de la referencia agregada)
Public Class SqlCEUtil

    Public Shared Function getConnection(ByVal archivo As String, ByVal reemplazar As Boolean, ByVal clave As String) As SqlCeConnection
        'archivoSDF = "d:\TestSQLCE.sdf"        

        Dim cadenaCon As String = "Data Source = " & archivo & ";File Mode=Shared Read;Persist Security Info=False"

        'http://stackoverflow.com/questions/2377730/set-password-of-an-existing-sql-ce-database-per-code
        If Not IsNothing(clave) Then
            cadenaCon = cadenaCon & ";Password=" & clave
        End If

        Try
            If reemplazar Then
                ArchivoUtil.eliminarSiExiste(archivo)
            End If
        Catch ex As Exception
            MsgBox("El archivo '" & archivo & "' no se puede reemplazar porque está en uso")
        End Try

        If Not System.IO.File.Exists(archivo) Then
            'Creando el archivo SDF
            Dim engine As New SqlCeEngine(cadenaCon)
            engine.CreateDatabase()
        End If

        Return New SqlCeConnection(cadenaCon)
    End Function

End Class
